package com.kingdee.eas.basedata.master.material.app;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.eas.basedata.master.material.MaterialPurchasingInfo;
import com.kingdee.eas.basedata.master.material.MaterialCompanyInfoInfo;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.eas.basedata.master.material.MaterialPlanInfo;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;
import com.kingdee.bos.BOSException;
import com.kingdee.eas.basedata.master.material.MaterialSalesInfo;
import com.kingdee.eas.basedata.master.material.MaterialCollection;
import com.kingdee.bos.util.BOSUuid;
import java.util.List;
import java.lang.String;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.common.EASBizException;
import java.math.BigDecimal;
import java.util.Map;
import java.util.HashMap;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import java.util.Set;
import java.util.HashSet;
import com.kingdee.eas.basedata.framework.app.DataBaseDController;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.bos.framework.*;
import java.util.ArrayList;
import com.kingdee.eas.basedata.master.material.MaterialInventoryInfo;
import com.kingdee.eas.basedata.master.material.MaterialInfo;

import java.rmi.RemoteException;
import com.kingdee.bos.framework.ejb.BizController;

public interface MaterialController extends DataBaseDController
{
    public MaterialInfo getMaterialInfo(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public MaterialInfo getMaterialInfo(Context ctx, IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException, RemoteException;
    public MaterialCollection getMaterialCollection(Context ctx) throws BOSException, RemoteException;
    public MaterialCollection getMaterialCollection(Context ctx, EntityViewInfo view) throws BOSException, RemoteException;
    public void approve(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void unapprove(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void freeze(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void unfreeze(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void multiUnit(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void adfunct(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void showPicture(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public MaterialPurchasingInfo getPurchasingInfo(Context ctx, String matid, String ouid) throws BOSException, EASBizException, RemoteException;
    public MaterialSalesInfo getSalesInfo(Context ctx, String matid, String ouid) throws BOSException, EASBizException, RemoteException;
    public MaterialInventoryInfo getInventoryInfo(Context ctx, String matid, String ouid) throws BOSException, EASBizException, RemoteException;
    public MaterialCompanyInfoInfo getCompanyInfo(Context ctx, String matid, String ouid) throws BOSException, RemoteException;
    public void adjustStandardCost(Context ctx, String companyOrgUnitID, String[] materialIDs, BigDecimal[] standartdcost) throws BOSException, EASBizException, RemoteException;
    public int mulApproveBase(Context ctx, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulApproveCompany(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulApprovePurchase(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulApproveSale(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulApproveInventory(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulApproveCost(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public void updateCheck(Context ctx, IObjectPK pk, String propertyFieldName, MaterialInfo oldInfo, MaterialInfo newInfo) throws BOSException, EASBizException, RemoteException;
    public MaterialCollection getMaterialCollectionByFI(Context ctx, ArrayList materials, String companyID) throws BOSException, RemoteException;
    public boolean isBizRef(Context ctx, BOSUuid pk) throws BOSException, RemoteException;
    public List getMaterialsExistInvInfo(Context ctx, String[] materialIDs, String inventoryID) throws BOSException, RemoteException;
    public Map getMeasureUnitMap(Context ctx, String materialID) throws BOSException, EASBizException, RemoteException;
    public HashMap verifyMaterialInvInfos(Context ctx, HashMap hashMap) throws BOSException, RemoteException;
    public int mulUnApproveBase(Context ctx, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApproveCompany(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApprovePurchase(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApproveSale(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApproveInventory(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApproveCost(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public void batchAssign2(Context ctx, String cuid, String[] diddata, String[] cuiddata, HashSet assistData) throws BOSException, EASBizException, RemoteException;
    public void batchAssign2(Context ctx, String cuid, String sql, HashSet basedata, HashSet cuData, HashSet assistData) throws BOSException, EASBizException, RemoteException;
    public void batchAssignAssist(Context ctx, String cuid, String[] diddata, String[] cuiddata, HashSet assistData) throws BOSException, EASBizException, RemoteException;
    public void batchAssignAssist(Context ctx, String cuid, String sql, HashSet basedata, HashSet cuData, HashSet assistData) throws BOSException, EASBizException, RemoteException;
    public int mulApprovePlan(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public int mulUnApprovePlan(Context ctx, String ouID, ArrayList idList) throws BOSException, EASBizException, RemoteException;
    public Map transformToTree(Context ctx, Set databaseIDs, int groupLevel) throws BOSException, EASBizException, RemoteException;
    public MaterialPlanInfo getPlanInfo(Context ctx, String matid, String ouid) throws BOSException, EASBizException, RemoteException;
    public Map getEditUIInitData(Context ctx, String materialID) throws BOSException, EASBizException, RemoteException;
    public void batchUnAssignAssist(Context ctx, String cuId, String[] orgIds, String[] dataIds, HashSet assistDataSet) throws BOSException, EASBizException, RemoteException;
    public void batchUnAssignAssist(Context ctx, String cuId, String[] orgIds, String dataSql, String[] notInDataIds, HashSet assistDataSet) throws BOSException, EASBizException, RemoteException;
    public String readNewNumber(Context ctx, String cuId, MaterialInfo materialInfo) throws BOSException, EASBizException, RemoteException;
}